From d0315d35cc7218dde0ae6a19978403f2acbfda78 Mon Sep 17 00:00:00 2001 From: "awilliam@xenbuild.aw" Date: Wed, 12 Jul 2006 13:26:09 -0600 Subject: [PATCH] [IA64] do not purge vhpt when emulation itr It's safe for linux not to purge vhpt when emulating itr, otherwise there is considerable performance loss Signed-off-by: Isaku Yamahata Signed-off-by: Zhang xiantao Signed-off-by: Anthony Xu --- xen/arch/ia64/xen/vcpu.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/xen/arch/ia64/xen/vcpu.c b/xen/arch/ia64/xen/vcpu.c index dcf7eed24a..c3d0fe2543 100644 --- a/xen/arch/ia64/xen/vcpu.c +++ b/xen/arch/ia64/xen/vcpu.c @@ -1923,7 +1923,14 @@ IA64FAULT vcpu_itr_d(VCPU *vcpu, UINT64 slot, UINT64 pte, vcpu_set_tr_entry(trp,pte,itir,ifa); vcpu_quick_region_set(PSCBX(vcpu,dtr_regions),ifa); - vcpu_flush_tlb_vhpt_range(ifa & itir_mask(itir), itir_ps(itir)); + /* + * FIXME According to spec, vhpt should be purged, but this + * incurs considerable performance loss, since it is safe for + * linux not to purge vhpt, vhpt purge is disabled until a + * feasible way is found. + * + * vcpu_flush_tlb_vhpt_range(ifa & itir_mask(itir), itir_ps(itir)); + */ return IA64_NO_FAULT; } @@ -1942,7 +1949,14 @@ IA64FAULT vcpu_itr_i(VCPU *vcpu, UINT64 slot, UINT64 pte, vcpu_set_tr_entry(trp,pte,itir,ifa); vcpu_quick_region_set(PSCBX(vcpu,itr_regions),ifa); - vcpu_flush_tlb_vhpt_range(ifa & itir_mask(itir), itir_ps(itir)); + /* + * FIXME According to spec, vhpt should be purged, but this + * incurs considerable performance loss, since it is safe for + * linux not to purge vhpt, vhpt purge is disabled until a + * feasible way is found. + * + * vcpu_flush_tlb_vhpt_range(ifa & itir_mask(itir), itir_ps(itir)); + */ return IA64_NO_FAULT; } -- 2.30.2